草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

MySQL - 如何选择 'DISTINCT' 重叠周期(日期或数字范围)

简而言之,如果查询告诉我A与B重叠,那么我不需要它也告诉我B也与A重叠,因为它们彼此重叠。所以我尝试在sql中使用自连接来选择“不同的”重叠部分。为了说明,这是我编写的一个简单的SQLfiddle,用于显示包含重叠选择(http://sqlfiddle.com/#!9/7af84f/1)详细...假设我有一个name(char),d1(int),d2(int)的表,其架构如下。这里d1和d2代表某个区间的开始和结束,这些区间可能与同一个表中的另一个区间重叠。CREATETABLEtest(letterchar,d1int,d2int);鉴于此表,我用一些值填充它INSERTINTOte

sql - 如何从 MySQL 表中检索 10 个最新的 DISTINCT IP?

我有一个包含pagehit(规范化)数据的表,我需要获取10个最新的唯一ips。我试着这样做:SELECT*FROMspy_hitsORDERBYdatedescGROUPBYipLIMIT10;这应该给我这个结果:+-----+------------+-----+---------+----+------+------+---------+-------+-------+|id|date|ip|browser|os|page|host|referer|query|agent|+-----+------------+-----+---------+----+------+------

sql - 在 MATCH AGAINST 子句中使用 concat - mysql

我真的希望有人能帮助我解决我的问题。我想实现与group_concat查询的匹配。我需要这样的东西:Selectc.id,p.placefromcontentcjoinplaceponp.object_id=c.idwherematch(group_concat(p.place))AGAINST('"string1""string2""string3"',INBOOLEANMODE)andnotmatch(group_concat(p.place))AGAINST('string4',INBOOLEANMODE)我尝试使用alsohaving子句但不起作用。目前我不知道如何解决这个问题

mysql - GROUP_CONCAT() 中的条件

伙计们,我的数据库中有以下表格位置id(主键)姓名项目id(主键)location_id(外键=>位置)项目名称里程碑id(主键)姓名状态id(主键)状态项目里程碑id(主键)project_id(外键=>项目)milestone_id(外键=>里程碑)status_id(外键=>状态)在这里,为了列出所有项目的所有里程碑(状态为9),我使用以下查询SELECTprojects.projectname,locations.name,DATE_FORMAT(projects.created_at,'%d-%m-%y')asprojectdate,GROUP_CONCAT(mileston

php - 新行分隔符不适用于 group_concat 函数

我有一个字符串(namelastname,name2lastname2...)包含来自数据库表的值,我想显示它喜欢:namelastnamename2lastname2..Iusegroup_concatfunctionitworksforcommmaseparatorsbutIneednewlineseparator.group_concat(concat_ws('',users.firstname,users.lastname)SEPARATOR'')ascontacts_name 最佳答案 试试这个:"\r\n"加双引号,不简

Concat和Order变量具有Mulitple值?

我暴露了我的问题,我有2个变量s1和s2内部有多个值前任:s1=[4906,145,62,56];s2=["text1","text2","text3","text4"];我正在搜索最佳方法s1和s2作为:data=[["text1",4906],["text2",145],["text3",62],["text4",56]];任何帮助,将不胜感激看答案假设您确保两个阵列都在相同的尺寸,则可以做类似的事情:data=[];for(i=0;i为什么不容纳各种对象而不是更多数组?data=[{title:"text",value:4353},{...}]

mysql - 如何优化mysql Distinct?

Tbl_responses有编号回应消息标识符用户名有5,000条记录。“zac1987”发布了800条回复。“zac1987”发布的800条回复中有30条msgid不同。SELECTDISTINCTmsgidFROMTbl_responsesWHEREusername='zac1987';目前ExplainSQL显示有800行受到影响。如何优化查询以便只影响30行?我认为必须有一个解决方案来避免循环/过滤800条记录...就像用我的博客上显示的JOIN子句问题替换WHERE子句一样...ye5.blogspot.com/2011/07/optimize-faster-mysql-qu

MySQL concat 与 INNER JOIN

我有2个表:ma​​nuscript和ma​​nuscript_log。我想为每个手稿显示在同一行的相应日志。例子:我有两份手稿1和2。稿件1有2条日志,稿件2有3条日志。我想在查询中得到两个结果,按手稿ID分组:manuscript_idmanuscript_log1.1,22.3,4,5SELECTmanuscript.id,manuscript_log.log_numberFROMmanuscriptINNERJOINmanuscript_logONmanuscript.id=manuscript_log.manuscript_id 最佳答案

php - 选择 DISTINCT 多列 MySQL

我有一个包含超过30K行和多列的表格。例子:id|year|make|model|color1|2001|gm|truck|red2|2004|gm|truck|green3|2001|nissan|Max|yellow4|2001|gm|truck|blue5|2002|gm|truck|green6|2001|nissan|Sentra|green由于每个品牌型号和年份都有很多颜色,我需要找出每辆车有多少种颜色。期望的结果:2001NissanMax5colors2001GMTruck10colors无需知道什么颜色,只需知道多少颜色。我尝试了以下方法:SELECTCOUNT(DI

mysql - Cakephp 2.x 查找在同一字段上具有 DISTINCT 和 COUNT 的查询

User表结构。+------+-------+|id|data|+------+-------+|1|a|+------+-------+|1|b|+------+-------+|2|c|+------+-------+期望的结果。+------+-------+|id|count|+------+-------+|1|2|+------+-------+|2|1|+------+-------+我以多种方式尝试了DISTINCT和COUNT,但仍然没有得到想要的结果。我在做什么$this->User->find('all',array('conditions'=>array(),